The present invention relates to wireless communication systems.
A popular Medium Access Control (MAC) method for wireless local area networks (WLAN) devices is the Carrier Sense Multiple-Access/Collision Avoidance (CSMA/CA). This method works by measuring the time since the last activity on the shared channel in equal length contention slots. Each transmitting node in the network generates a random number, then counts the number of contention slots until the number is reached. At that point, the node can grab the channel and other nodes must suspend their count until the channel is free again. If, by chance, two nodes generate the same random number and, thus, collide, they determine that the packet transfer is unsuccessful through the acknowledgment process and generate a new random number to start counting slots from zero the next time the channel is free.
After a node has successfully received a message, it sends an acknowledgment back over the wireless communication channel to the transmitting node. The other nodes do not begin contending for the medium until after the acknowledgment is sent by the receiving node. Note that typically, for local area networks, above the MAC layer are higher level communication layers, such as TCP/IP layers, under the control of the operating system. These TCP/IP layers have their own message and acknowledgment signals. For Windows-based systems, typically the TCP protocol is fixed to have a single acknowledgment for every two TCP message transfers. The acknowledgment at the TCP level is distinct from the acknowledgment at the MAC layer. In fact, each TCP acknowledgment requires a MAC layer message containing the acknowledgment with its own MAC layer acknowledgment of the TCP acknowledgment message.
A key metric for any wireless local area network system is the peak data rate in transferring data from one node to another without no other intentional traffic on the network. For most applications today, the data transfer will occur using the Transmission Control Protocol/Internet Protocol (TCP/IP). TCP/IP decouples the user from the details of the physical media and MAC layer use for the data transfer. However, in the case of wireless LANs, the interaction between the lower layer Medium Access Control (MAC) protocol and the upper layer (TCP) protocol has a serious impact on the data rate especially in the peak scenario. In a typical TCP implementation, such as those used in Windows based systems, an acknowledgment is sent for every other TCP segment of 1460-bytes. Thus, in a system where, for example, two TCP segments are sent in every CSMA/CA data packet, another tiny 64-byte payload packet TCP acknowledgment will contend for the media in response to every MAC layer message even though the only real data traffic is one-way which should not cause contentions. The effect of the small contending TCP acknowledgment packets on data throughput can be severe. Even though the message payload is small (only 64 bytes), all the overhead is required as for a large packet. For example, in the HomeRF Shared Wireless Access Protocol (SWAP) specification at 10 Mb/s data payload rate, the 1460-byte TCP segment message packet is typically about 3 ms long, while a 64-byte contending acknowledgment packet is about 2.4 ms long. If sent for every other message payload, this alone would be a 40% decrease in throughput. Additionally, CSMA/CA collisions can occur when both the TCP packet and the TCP acknowledgment packet randomly choose the same slot number. Dead time is created from the collision and both contending packets can see additional delays due to exponentially increasing contention times.